#ifndef VIEWER_HPP
#define VIEWER_HPP

#include <coredataunit.hpp>
#include <coredataqueue.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <pland.hpp>

class Viewer
{
public:
    Viewer(pland::SharedDQueue qB, pland::SharedDQueue qG, pland::SharedDQueue qR);
    void start();
    void stop();
    enum CHANNEL{B,G,R};
private:
    void decodePNG(pland::SharedData, CHANNEL c);
    pland::SharedDQueue qB_;
    pland::SharedDQueue qG_;
    pland::SharedDQueue qR_;
    cv::Mat b_;
    cv::Mat g_;
    cv::Mat r_;
};

#endif // VIEWER_HPP
